package com.cv.system.service.role;

import com.cv.framework.common.pojo.PageResult;
import com.cv.system.controller.system.role.vo.RolePageReqVO;
import com.cv.system.controller.system.role.vo.RoleRespVO;
import com.cv.system.controller.system.role.vo.RoleSaveReqVO;

import java.util.List;

/**
 * 角色业务层接口
 *
 * @author Charles_XDXD
 */
public interface SystemRoleService {

    /**
     * 获得角色分页列表
     *
     * @param pageReqVO 分页查询参数
     * @return 角色分页列表
     */
    PageResult<RoleRespVO> getRolePage(RolePageReqVO pageReqVO);

    /**
     * 获得角色列表
     *
     * @return 角色列表
     */
    List<RoleRespVO> getRoleList();

    /**
     * 获取用户的角色id
     */
    Long getUserRole(Long userId);

    /**
     * 获取用户的角色
     */
    RoleRespVO getUserRoleByUserId(Long userId);

    /**
     * 设置用户的角色id
     */
    void setUserRole(RoleSaveReqVO saveReqVO);

    /**
     * 设置普通用户角色
     */
    void setUserAsCommon(Long userId);

}
